/** @jsx createElement */

'use strict';

import style from './lib/index.css';
import {createElement, Component} from 'rax';

class Mod extends Component {
  /**
   * 模块数据禁用自动请求
   * @type {boolean}
   */
  static disableModuleDataAutoFetch = false;

  /**
   * 模块渲染模式
   * cell  : 默认，整个模块按一个 cell 单元平铺渲染
   * header: 区块头，以 sticky 方式渲染（超出视区则停靠边缘）
   * repeat: 以列表的方式重复渲染
   * @type {string}
   */
  static moduleRenderMode = 'cell';

  /**
   * 获取模块行高
   * @param attrs
   * @returns {number}
   */
  static getModuleRowHeight = (attrs) => {
    return 100;
  };

  /**
   * 获取模块一行几列
   * @param attrs
   * @returns {number}
   */
  static getModuleCol = (attrs) => {
    return 2;
  };

  state = {
    time: Date.now()
  };

  componentDidMount() {
    this.timer = setInterval(() => {
      this.setState({time: Date.now()});
    }, 1000);
  }

  componentWillUnmount() {
    clearInterval(this.timer);
  }

  render() {
    let time = new Date(this.state.time).toLocaleTimeString();
    return (
      <View style={style.container}>12
        <View style={style.mds}>模块数据: <Text style={style.data}>this.props.mds = {JSON.stringify(this.props.mds, null, 2)};</Text></View>
        <Text style={style.time}>{ time }</Text>
        <View style={style.copyright}><Text style={style.copyrightText}>@Tile Example</Text></View>
      </View>
    );
  }
}

export default Mod;